home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
U-User Group
/
(k)u8.d64
/
quicksort'vert.l
< prev
next >
Wrap
Text File
|
2007-02-28
|
923b
|
34 lines
9000 // *** "QUICKSORT'VERT.L" *** //
9010 // FOR USE WITH DEMO'QUICKSORT
9020 // CHECK NAME CHANGES VERTICAL
9030 // OTHERWISE FROM P.165 ROY ATHERTON
9040 //
9050 DIM NAME$(11) OF 3, COMP$ OF 3, TEMP$ OF 3
9060 FOR K:=1 TO 11 DO READ NAME$(K)
9070 FOR K:=1 TO 11 DO PRINT NAME$(K);
9080 //
9090 QUICK(1,11)
9100 //
9110 PRINT
9120 FOR K:=1 TO 11 DO PRINT NAME$(K);
9130 //
9140 PROC QUICK(TEND,BEND)
9150 TOP:=TEND; BOT:=BEND
9160 COMP$:=NAME$((TOP+BOT) DIV 2)
9170 REPEAT
9180 WHILE NAME$(TOP)<COMP$ DO TOP:=TOP+1
9190 WHILE NAME$(BOT)>COMP$ DO BOT:=BOT-1
9200 IF TOP<=BOT THEN SWAP
9210 UNTIL TOP>BOT
9220 IF TEND<BOT THEN QUICK(TEND,BOT)
9230 IF TOP<BEND THEN QUICK(TOP,BEND)
9240 ENDPROC QUICK
9250 //
9260 PROC SWAP
9270 TEMP$:=NAME$(TOP)
9280 NAME$(TOP):=NAME$(BOT)
9290 NAME$(BOT):=TEMP$
9300 TOP:=TOP+1; BOT:=BOT-1
9310 ENDPROC SWAP
9320 DATA "JIM","BEN","ALF","PAT","VAL","KEN","RON","HAL","LEN","ZOE","TOM"